﻿// quickTest 云函数（修复阿里云不支持 serverDate 问题）
'use strict';
const db = uniCloud.database();
const _ = db.command;

exports.main = async (event, context) => {
  console.log('=== quickTest 云函数触发 ===')
  const userId = event.userId; // 当前用户ID（接收前端传入）
  
  if (!userId) {
    return { code: 400, msg: '用户ID不能为空' };
  }
  
  try {
    // 1. 生成当前时间（替换 db.serverDate()，适配阿里云）
    const currentTime = new Date(); // 本地时间（或用 new Date().toISOString() 国际标准时间）
    
    // 2. 插入一条“真实用户点赞”的互动消息
    const insertResult = await db.collection('interaction-messages').add({
      data: {
        target_user_id: userId,        // 接收消息的用户（当前用户）
        sender_id: 'real_user_123',    // 真实发送者ID（模拟另一个用户）
        sender_nickname: '校园用户_李四', // 真实发送者昵称（非测试用户）
        sender_avatar: '/static/images/avatar2.png', // 真实发送者头像
        type: 'like',                  // 互动类型：点赞
        content: '校园用户_李四 对您的帖子“代拿快递”进行了点赞', // 消息内容
        post_id: 'post_456',           // 关联的帖子ID（模拟）
        post_title: '代拿快递',         // 关联的帖子标题
        create_time: currentTime,      // 用 new Date() 替代 db.serverDate()
        status: 'active',              // 消息状态：有效
        is_read: false,                // 是否已读：未读
        // 不添加 is_test: true，避免被过滤
      }
    });
    
    console.log('插入真实互动数据成功:', insertResult);
    
    // 3. 查询当前用户的所有互动数据（验证插入结果）
    const totalResult = await db.collection('interaction-messages')
      .where({ target_user_id: userId })
      .count();
    
    return {
      code: 200,
      msg: '真实互动数据插入成功',
      data: {
        messageId: insertResult.id,    // 插入的数据ID（阿里云返回的是 id，腾讯云是 _id）
        totalMessages: totalResult.total, // 当前用户的总互动消息数
        tip: '已插入一条真实点赞消息，可在前端查看'
      }
    };
  } catch (e) {
    console.error('插入数据失败:', e);
    return { 
      code: 500, 
      msg: '插入失败: ' + e.message,
      errorDetail: e.stack // 新增错误详情，便于排查
    };
  }
};